效率工具 | 神器AutoHotkey使用教程
点击蓝字关注我
AutoHotkey是一款强大、开源的热键脚本工具。在以往的文章里,我介绍了很多强大的效率提升工具,其中包括Wox、Listary、QuickLook等。如果说这些软件在某些领域独树一帜,那么AutoHotkey则是在则是“无所不能”的强大工具,网上提及AutoHotkey的文章有很多,但是没有深入的介绍,本文就来详细讲解一下这款工具的使用。
—▼—
简单示例
易用性和功能的灵活性往往是成反比的,举一个极端的例子,开发语言这类工具在使用方面非常不友好,但是经过开发语言的各种组合可以实现各种手机、PC端软件数不胜数的功能。当然,由于它的使用偏于专业,所以更多人选择定制化较强、界面友好的工具,但是却要牺牲一些灵活性。
Autohotkey是一款介于纯编程语言和分发软件之间的一款工具,你可以使用它写一些简单的脚本语言,用内置的一些函数或者自定义的函数去单独或组合使用,以达到我们期望的功能,下面先来看一个示例。
先看一个简单的AutoHotkey脚本,
Send, This is a Hotkey!
return
::hs::This is a HotString!
^#s::
Run, D:\Sublime Text 3\sublime_text.exe
然后鼠标右键点击编译,或者双击脚本运行,然后点击对应的快捷键,
这个演示包括三个动作:
快捷键启动sublime
快捷键输入“This is a Hotkey!”
快捷字符输入“This is a HotString!”
回到前面给出的AutoHotkey脚本,来一步一步的解释怎么实现的。
第一个动作:快捷键启动sublime
^#s::
Run, D:\Sublime Text 3\sublime_text.exe
这句命令实现的是快捷键启动sublime。
第一行中^和#是两个代表按键的符号,分别代表ctrl和windows,s就是键盘上的s键,::可以认为是命令的结束符号。
第二行中Run是一个内置函数,用于运行一个工具或者打开一个网页,后面跟的是要打开的网页或者软件路径(如果已经加入到环境变量,就不需要完整的安装路径)。
因此,上述两行脚本的功能就是ctrl+win+s就可以打开sublime这款软件。
第二个动作:快捷键输入“This is a Hotkey!”
^j::
Send, This is a Hotkey!
return
看完第一个动作的介绍,应该很容易理解这个动作,
第一行的含义是ctrl+j快捷键。
第二行的含义是发送一段字符串。
第三个动作:快捷字符输入“This is a HotString!”
::hs::This is a HotString!
这个和前两个动作不同,介绍这个动作之前需要先简单的了解一下AutoHotkey,它主要包括两个概念:
hotkey
hotstring
其中hotkey并不陌生,就是热键、快捷键,前两个动作实现的就是快捷键。
这里需要说一下hotstring,顾名思义,就是通过一段字符串实现一个快捷功能,第三个动作实现的就是一个hotstring功能。
现在回过头来解释一下第三个动作的脚本的含义,
两个::之间定义的是快键字符串,后面跟随的是要输入的完整字符串,这样的话在文本框输入hs然后点击Tab键即可在编辑器中输入This is a HotString!这个完整的字符串。
很多人用惯了快捷键会疑问,hostring有什么价值?我认为它对于开发者或者文本编辑相关的工作者是非常有意义的。我们可以在脚本中预先用一些hostring定义好我们常用的代码块或者文字内容,这样,当输入对应的hostring时就可以快速补全我们想要的内容,速度和资源消耗要远远小于常用的代码补全工具。
热键符号
通过前面的简单示例,想必应该对AutoHotkey有了简单的了解,它就是通过一些内置的符号、函数、自定义函数来任意组合,定制化的实现我们想要的功能。
通过示例中第一个动作^#s代表快捷键ctrl+win+s可以看出,热键符号具有至关重要的作用,我们怎么就知道^代表ctrl、#代表win呢?因为官网给出了不同符号的对应关系,下面是各个符号对应的热键,
符号 | 描述 |
---|---|
# | win |
! | Alt |
^ | Ctrl |
+ | Shift |
& | 可以在两个组合键之间使用 |
< | 指定快捷键的位置在左边 |
> | 指定快捷键的位置在右边 |
注:我们都知道,alt、ctrl、shift这些键都有两个,左右两边均有,<和>两个符号就指定使用左边的符号还是右边的符号,例如,<!指定使用左边的Alt键。
标签
在示例中,我们也看到使用了Run、Send,这两个称为AutoHotkey的标签,虽然我是以大写字母开头,但是标签名称其实是不区分大小写的,可以由空格、制表符、逗号、转义符以外的任何字符组成,但是由于样式的约定,通常最好使用字母、数字、下划线,AutoHotkey常用的内置标签有如下几个,
标签 | 描述 |
---|---|
Send | 向编辑器发送一段字符 |
SendInput | 同上 |
MsgBox | 弹出对话框 |
Run | 运行一个工具或打开网页 |
WinActivate | 窗口激活 |
WinWaitActive | 窗口等待激活 |
下面看一个例子,
^j::
Run, https://www.baidu.com
MsgBox, 已经打开网页!
return
有了前面的基础,应该很容易理解这个脚本,它是一个组合功能,分别是打开网页和弹出对话框,下面看看效果,
函数
函数 | 描述 |
---|---|
FileExist | 检查文件或文件夹是否存在,并返回其属性 |
GetKeyState | 获取按键状态,向下返回true,向上返回false |
InStr | 从左或右搜索字符串的给定出现项 |
RegExMatch | 确定字符串是否包含正则表达式匹配模式 |
RegExReplace | 替换字符串中出现的模式(正则表达式) |
StrLen | 获取字符串长度 |
StrReplace | 替换字符串 |
StrSplit | 用指定的分隔符分割字符串 |
SubStr | 按指定位置返回子字符串 |
当然,AutoHotkey内置的函数远不止这些,它还包括以下类型的函数:
文件读取
数学计算
条件判断
异常处理
状态获取
鼠标键盘
屏幕状态
声音
进程管理
窗口状态
……
没错,AutoHotkey在功能和丰富性方面丝毫不亚于一些老的脚本语言,但是它的优点是更加实用。我们可以即写即用,能够辅助我们日常生活中多种场景的工作。
使用场景
^y::
Run, https://www.youku.com/
return
^b::
Run, https://www.bilibili.com/
return
^z::
Run, https://www.zhibo8.cc/
return
自动补全
我们在日常开发或者文本编辑时,会有大量重复的工作,以编程为例,我们会有很多重复的代码块,因此,才有各种各样的补全工具,但是目前大多数补全工具可以说是差强人意,速度方面甚至不及自己手动敲代码的速度,但是通过AutoHotkey把我们常用的代码块、文本用hotkey、hotstring代替,这样能够快速的补全我们想要的内容,
例如,用下面几行脚本补全我们常用的代码片段,
::np::import numpy as np
::plt::from matplotlib import pyplt as plt
::tf::import tensorflow as tf
安装与基本操作
下载安装包
AutoHotkey是一款开源免费的工具,能够直接从官网下载AutoHotkey的安装包,
https://www.autohotkey.com/
如果觉得麻烦,也可以在公众号后台回复关键字"hot"获取安装包。
安装
双击下载的安装包,会弹出安装界面,直接一步步往下点击即可,如果需要更改安装路径,可以在location页面进行更改。
新建脚本
成功安装后,在桌面或者其他空白处点击鼠标右键-新建-AutoHotkey Script,来创建一个AutoHotkey脚本。
编辑脚本
创建脚本后,鼠标右键点击脚本,可以看到有三个选项:Run Script、Compile Script、Edit Script。
可以先点击Edit Script,它会用记事本打开,当然也可以用sublime、UE、notepad++等文本编辑器打开,然后进行编辑。
编辑之后可以双击脚本直接运行,也可以点击Run Script运行脚本,这样就可以使用我们脚本中定义的快捷键或者快捷字符串。此外,还可以点击Compile Script把脚本编译成exe文件,这样的话脚本会被加密,可以用于分发,其他使用者就无法看到工具源码。
▲
END
长按扫码可关注